package com.cci.kangdao.fieldService.service;

import com.cci.kangdao.fieldService.model.FieldServiceEngineer;
import com.cci.kangdao.fieldService.model.FieldServiceItem;
import com.cci.kangdao.fieldService.model.FieldServiceWorkOrder;
import com.cci.kangdao.fieldService.model.type.SyncInterface;
import org.springframework.scheduling.annotation.Async;

/**
 * @author William Du
 * @date 2020/1/11
 */
public interface SyncProcessor {

    @Async
    void syncInfoToCrm(Long itemId,SyncInterface syncInterface, Object... args);

    @Async
    void syncOrderCreateInfoToCrm(Long itemId, FieldServiceEngineer engineer, FieldServiceItem item, FieldServiceWorkOrder workOrder);

    void syncRetry();

    void removeRetry(Long itemId);

}
